using System;

namespace Kaleida.ServiceMonitor.Model.Statistics
{
    public class DistributionPoint
    {
        private readonly int timeMs;
        private readonly int count;

        public DistributionPoint(int timeMs, int count)
        {
            if (timeMs <= 0) throw new ArgumentOutOfRangeException("timeMs", timeMs, "A response time distribution point's time value cannot have a zero or negative value");
            if (count < 0) throw new ArgumentOutOfRangeException("count", count, "A response time distribution point's count cannot be negative value");

            this.timeMs = timeMs;
            this.count = count;
        }

        public int TimeMs
        {
            get { return timeMs; }
        }

        public int Count
        {
            get { return count; }
        }

        public override string ToString()
        {
            return string.Format("({0}, {1})", timeMs, count);
        }
    }
}